Computer processors and peripheral devices communicate via internal bus systems or channels, through local interfacing such as the Small Computer System Interface (SCSI), and over longer distances through networks. One standard interconnection system for a building or campus is the Fibre Channel (ANSI X3T11). Most interconnection systems for computer systems have a limit on the total number of devices, and a limit on the overall length of interconnection. For example, SCSI is limited to 16 connected devices, with a maximum overall distance of 26 meters. In contrast, Fibre Channel can support 2.sup.24 (about 17 million) devices ("nodes"), with a distance limit of 10 km between nodes. Fibre Channel supports a matrix interconnection called a fabric. Fibre Channel also supports a loop topology, called Fibre Channel Arbitrated Loop (FC-AL), which supports up to 127 nodes with a maximum distance of 10 km between nodes. Fabrics and loops can co-exist. In particular, a device logically connected into a Fibre Channel Arbitrated Loop may also be a port to a fabric.
In general, interconnection of devices in a computer system requires every connected device to have some sort of unique electronic address or identification. In some interconnection systems, device identification is determined by switches or cables, and cannot be electronically changed (referred to as hard addressing in Fibre Channel). For example, for personal computers, identification of a disk drive may be determined by setting switches on the drive, or identification may be determined by which connector is used to attach the drive. In other interconnection systems, devices may automatically be electronically configured each time system power is applied, or each time the system is reset (referred to as soft addressing in Fibre Channel). For automatic configuration, if a device is added or deleted, the assigned identification may change. For example, for Intel compatible personal computers, one industry specification for automatically configuring input/output (I/O) circuit boards is called the Plug and Play ISA Standards. For ISA Plug and Play, each compatible board has a unique identifier that includes a vendor identifier and a serial number. During system initialization, the host computer goes through a process of elimination, based on the unique board identifiers, to isolate each board, and the host computer then assigns a logical device number to each board. Historically, SCSI used hard addressing. An industry group has proposed an autoconfiguration protocol for SCSI, called SCSI Configured AutoMagically (SCAM). SCAM has not been universally adopted, however, and non-conforming legacy devices are still in use.
Hard addressing is useful for simplifying interaction between operating systems and peripheral devices. For example, existing operating system software designed for SCSI systems may have a specific built-in address for a boot device. Alternatively, consider a computer that initially boots from software on a removable compact disk (CD). After booting, it may be desirable for the computer to search for a hard disk, and assign the loop address of the hard disk to be the permanent boot device. If the hard disk has hard addressing, then the loop address of the boot device can remain constant for the computer. However, conflicting hard addresses must typically be resolved by human intervention. That is, a human must find the conflicting devices and physically change at least one address. For personal computers, and for SCSI systems with a maximum of 16 devices, finding conflicting addresses is practical. For Fibre Channel, with nodes scattered over a campus, finding conflicting hard addresses is impractical.
Fibre Channel address assignments are automatically determined. At any time, nodes can be added or deleted. When nodes are connected, devices automatically log in and exchange operating parameters with an electronic matrix device (called a switch), or with other nodes if there is no switch.
Fibre Channel Arbitrated Loops support both hard and soft addressing. If there is an address conflict among hard addresses, a conflicting device will either fail to join the loop, and as a result will be inoperable, or the conflicting device will revert to soft addressing and choose some other address. Therefore, hard addressing is effectively restricted to the situation where the person installing a device knows the address of up to 126 other devices to be installed (or already installed) in the system. There is a need for hard addresses in Fibre Channel Arbitrated Loop systems, with a reduced risk of hard address conflicts.